﻿namespace Spectro.Cards
{
    using System.Collections.Generic;

    /// <summary>
    /// Interface for Essence
    /// </summary>
    public interface IEssence
    {
        string Name { get; }

        int Health { get; set; }

        IEnumerable<IAction> GetActions(Gamer attaker, Gamer defender);

        IEnumerable<IFilter> GetFilters(Gamer attaker, Gamer defender);

        bool IsCanExecuteEction(IAction action, Gamer attaker, Gamer defender);

        void AfterAttack(Gamer attaker, Gamer defender);

        IEssence Die(Gamer attaker, Gamer defender);
    }
}
